#ifndef __kraw__Texture_h__
#define __kraw__Texture_h__
/**
*/
#include "resource/resource.h"
#include "core/Platform.h"

namespace kraw
{
	typedef enum
	{
		PixelFormat_RGBA8888 = 0,
        PixelFormat_RGBA4444,
        PixelFormat_RGBA5551,
        PixelFormat_RGB565,
        PixelFormat_A8,
	} TexturePixelFormat;

	//typedef enum TextureFilterMode
	
	//typedef enum TextureClampMode

	class Texture : public Resource
	{
	public:
		Texture(AssetLoader*);

		int textureWidth;
		int textureHeight;

		TexturePixelFormat pixelFormat;

	protected:
		virtual bool doLoad();

	private:
		//OGLES2-specific
		GLuint textureID;
		GLuint textureFilterMode;
		GLuint textureClampMode;
	};
}

#endif